﻿

using Hangfire.Common;
using Quartz;
using System;

namespace Zocono.WCS.HangfireHost.QuartzCore
{
    public interface IQuartzHelp
    {
        IJobDetail CreateJob<T>(string jobCode, string groupCode, bool isOrderly = false) where T : IJob;

        IJobDetail CreateJob(Type type, string jobCode, string groupCode, bool isOrderly = false);

        IJobDetail CreateJob(Type type, string jobCode, string groupCode, JobDataMap pairs, bool isOrderly = false);

        ITrigger CreateTrigger(string triggerCode, string groupCode, string cronExp, IJobDetail job, Action<CronScheduleBuilder> action);

        ISimpleTrigger CreateTrigger(string triggerCode, string groupCode, IJobDetail job);
    }
}
